package com.jn.mvp.interceptor;

import androidx.annotation.NonNull;

import java.io.IOException;

import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;

public class HeaderInterceptor implements Interceptor {
    @NonNull
    @Override
    public Response intercept(@NonNull Chain chain) throws IOException {
        // 1. 获取原始请求
        Request originalRequest = chain.request();

        // 2. 构建新请求，添加全局请求头
        Request newRequest = originalRequest.newBuilder()
                .header("Content-Type", "application/json") // 固定请求头
                .header("Accept", "application/json")
                .header("App-Version", "1.0.0") // 应用版本
                .header("Device-Type", "Android") // 设备类型
                .header("Authorization", getToken()) // 动态Token（从本地获取）
                .build();

        // 3. 继续执行请求
        return chain.proceed(newRequest);
    }

    // 从本地存储（如SP）获取Token
    private String getToken() {
        // 实际项目中从SharedPreferences或内存中获取
        return "your_token_here";
    }
}